// 用户模块
import { reqGetUserInfo } from '@/api/user'
export default {
  // 开启命名空间
  namespaced: true,
  state: {
    // 用户信息
    userInfo: {}
  },
  mutations: {
    // 通过触发action 设置用户信息
    setUserInfo (state, userInfo) {
      state.userInfo = userInfo
    }
  },
  getters: {
    // /* 如果用户头像图片没有  就取用户名username的首字母 并且大写 charAt()根据字符串的索引号得到对应字符,toUpperCase大写,toLowerCase小写, 此处判断为如果用户名存在就用用户的首字母大写,否则为空*/
    avatarImgs (state) {
      return state.userInfo.username
        ? state.userInfo.username.charAt(0).toUpperCase()
        : ''
    }
  },
  actions: {
    // 将请求函数从api/user 共有用token 在需要token的地方 使用vuex调用
    async getUserInfo (conext) {
      const { data } = await reqGetUserInfo()
      // console.log(res)
      // 如果状态码是0 提交对应的mutations存储用户信息
      if (data.code === 0) {
        // 触发mutation 从而修改state中的值
        conext.commit('setUserInfo', data.data)
      }
    }
  }
}
